Graphical information presented to users on displays of Internet browsing devices includes, inter alia: still pictures; motion pictures; two-dimensional projections of three-dimensional objects; and representations thereof. Some web pages allow the user to visually manipulate graphical objects on the display device in two or three dimensions via appropriate input devices.
A measure of the versatility of manipulation of a graphical object presented on a web page is the number of degrees of freedom (DOF) permitted by the web page for that graphical object.
Degrees of Freedom
The concepts related to degrees of freedom for graphical objects on a web page screen borrow from concepts related to degrees of freedom for physical objects, such as in the case of rigid body motion. Graphical objects are virtual objects, and are not subject to the same physical laws that apply to real objects. Even so, however, graphical objects are still subject to certain mathematical-geometrical relationships that apply to the manipulation of real objects. It is thus illustrative to consider some examples of positional manipulation of real objects.
A single degree of freedom can be a translation of an object along a single axis, or a rotation of the object about a single axis. Different degrees of freedom may be combined in certain ways to obtain multiple degrees of freedom.
In the definitions herein relating to degrees of freedom of a digital graphical object, the frame of reference for translation and rotation is understood to be the immediate presentation environment of the digital graphical object, regardless of how the presentation environment is moved or oriented. In particular, some computer operating systems provide windowing capabilities whereby the presentation of a digital graphical object is within a “window” which may be independently moved with respect to the physical boundaries of the computer's display device. In addition, some computer operating systems provide a full-screen display that can be rotated by the operating system in 90-degree increments to accommodate different orientations of the physical display device (e.g., “portrait” or “landscape” orientations). It is expressly understood that such translations and/or rotations of an operating system window and/or full-screen display alter not only the display of a digital graphical object within the window or full-screen display, but also the immediate presentation environment thereof, and consequently do not effect any change in the degrees of freedom of the digital graphical object as defined herein. In the case of such windows or full-screen displays, the degrees of freedom of a digital graphical object are always taken with respect to the window and/or the full-screen display regardless of how the window and/or full-screen display is translated and/or rotated by the operating system.
In three-dimensional Euclidean space there are three completely independent translational degrees of freedom, commonly represented in Cartesian coordinates as x, y, and z. The expression “completely independent” denotes that no change in any one of the degrees of freedom can be brought about by any combination of changes in the others. For example, no combination of changes in the x- and y-positions of an object by themselves alone can bring about a change in the z-position of the object. This is also the case in other coordinate systems, such as cylindrical coordinates (r, z, and θ) and spherical coordinates (r, θ, and φ).
In three-dimensional Euclidean space there are also three rotational degrees of freedom. Coordinate systems for rotation are usually selected to suit the physics of the motion of the object under consideration. For example, rotational coordinates for gyroscopic motion are usually the so-called “Euler rotation” variables (intrinsic rotation or spin; precession; and nutation), while rotational coordinates for vehicular motion are usually chosen relative to the Cartesian axes of the vehicle frame (roll; pitch; and yaw).
Unlike translational degrees of freedom, however, the three rotational degrees of freedom are not completely independent. That is, a change in one particular degree of rotational freedom can be brought about by a combination of changes in the other two degrees of freedom.
The above point is illustrated by the case of rigid body motion of vehicles. A four-wheeled vehicle, for example, has a single degree of rotational freedom—yaw, controlled by the steering system—for making turns. In contrast, a fixed-wing aircraft in flight has all three degrees of rotational freedom, but in most cases yaw is aerodynamically undesirable in fixed-wing aircraft (sometimes referred to as “adverse yaw”). Thus, direct control over yaw in fixed-wing aircraft is usually limited, and is used principally to reduce or eliminate yaw. In order for a fixed-wing aircraft to make a turn, therefore, the yaw required for making the turn is made indirectly, via a combination of a roll and a nose-up pitch (this combination is referred to as a “bank”), which is later followed by an opposite roll to come out of the bank (usually referred to as a “rollout”). That is, a yaw may be brought about by a sequential combination of a roll, a pitch, and a negative roll, thereby illustrating that the three degrees of rotational freedom are not completely independent. This is a mathematical-geometrical property of rotations that applies not only to rotations of real objects (such as fixed-wing aircraft), but also to graphical objects displayed on a screen.
Available User Input Devices
Some graphical objects that represent rigid bodies displayed on a screen can be manipulated by the user, with one or more degrees of freedom. However, the ability of the user to perform the manipulations is governed in large measure on the capabilities of the input device available to the user.
Graphical Object Display
Graphical objects are displayed by a variety of interactive display-enabled devices ranging from television sets (and similar devices) to personal computers to smartphones (and similar devices). Display devices include screens as well as projection systems for providing visual displays. Not all display-enabled devices have the same user input capabilities for manipulating the graphical objects on the display device thereof.
Interactive television, for example, typically offers minimal user manipulation of graphical objects. The user might be limited to the cursor capabilities of a typical remote control device (left/right/up/down/enter).
For digital graphical objects displayed on a screen, translational degrees of freedom are limited to translation in the display screen coordinates (i.e., in the plane of the screen). Display screen coordinates are typically denoted as x (the “horizontal” screen axis) and y (the “vertical” screen axis). The axis perpendicular to the plane of the display screen (also known as “normal to the screen”) is typically denoted as the z axis. In an isometric projection of the digital graphical object, no change in size results from a translation along the z axis. A change in size results, however, from a translation along the z axis in a perspective projection. According to the present disclosure, visual manipulation of a digital graphical object in an axis perpendicular to the display screen is considered to be a magnification/demagnification (or “zoom”) of the digital graphical object and not a translation of the digital graphical object. That is, for purposes of the present description and claims, only the x and y axes (in the plane of the display screen) are axes of translation for visually-manipulating a digital graphical object, and the z axis (perpendicular to the plane of the display screen) is not included as a degree of translational freedom for visual manipulation of the digital graphical object. The z-axis, however, remains as an axis of rotation and still offers a degree of rotational freedom for visually manipulating a digital graphical object.
For computers, common input devices used to manipulate graphical objects include: a mouse; a trackball; a touchpad; and a joystick. Such devices inherently offer two degrees of freedom for user control. Even with only two degrees of freedom, however, such input devices allow users to manipulate three-dimensional bodies in more than two degrees of freedom by switching control channels, for example by redirecting a translational degree of freedom of the input device to control a rotation of the graphical object.
Smartphones and computers with touchscreens (and some computers with touchpads) have expanded capabilities. Even with only two inherent degrees of freedom, however, such devices can manipulate a three-dimensional graphical object in more than two degrees of freedom, by allowing the user to switch the device's inherent two degrees of freedom to control different degrees of freedom in the display of the graphical object. For example, a touchscreen inherently has x and y degrees of freedom, so that a user can manipulate a graphical object in x and y position on the screen by dragging it with a finger from one x-y position to another. Typically, however, the user can also employ two-fingered gestures to manipulate the object's rotational position around the z-axis (e.g., with a two-finger “twirl” gesture). Some trackballs and mice employ “scroll wheels”, as well as associated buttons, to enable similar manipulations.
The accelerometers and gyroscopic sensors (“gyros”) included in smartphones and similar devices, and numerous software applications (“apps”) that feature computer control via such devices, offer widespread input devices that have more than two inherent degrees of freedom, and some computer applications already use smartphones as control devices for manipulating graphical three-dimensional objects having more than two degrees of freedom.
Applications Offering Manipulation of Graphical Objects
Computer-Aided Design (CAD), gaming, simulations, and virtual-reality web pages benefit from and typically utilize input devices that have more than two degrees of freedom, thereby allowing more intuitive control in manipulating three-dimensional graphical objects. For example, being able to freely manipulate an object being designed or constructed for viewing purposes is important during the design and evaluation process.
Some web pages involve displaying graphical objects for user inspection and examination, such as products available for purchase. In such applications, rotational degrees of freedom are important to allow users to view the objects from different sides and angles.
For virtual reality purposes, the rotations and translations may be those of the viewer, rather than those of the object being viewed, such as in a walkthrough of a building in the planning stage, or an interactive viewing of a house for sale by a prospective purchaser.
Gaming typically combines all possible manipulations, including aspects of object viewing and inspection and virtual reality settings. Both games and simulators often require specialized input devices with specific characteristics. For example, flight simulators are often employed in conjunction with input devices that mimic the controls of actual aircraft. As another example, for shooting simulators and advanced gaming, users often employ input devices which resemble actual or conceptualized weapons.
FIG. 1A illustrates a computer system configuration for displaying a digital graphical object 113 on a display device 107 within a window 109, with at most two degrees of freedom, as indicated by a translation symbol 111 representing two degrees of translational freedom, x and y. A user has a computer 101 having an input keyboard 103 and a mouse 105 as a spatial input device to control the display of digital graphical object 113 on display device 107. In this example, mouse 105 outputs control signals for controlling up to two degrees of translational freedom, such as the x and y positions of digital graphical object 113 on display device 107. In this example, a zoom view 115 can be manipulated in the x and y positions via mouse 105.
FIG. 1B illustrates a computer system configuration for displaying a digital graphical object 133 on display device 107 within window 109, with at least three degrees of freedom, as indicated by translation symbol 111 along with a roll symbol 119 and a yaw symbol 121, each of which represents an additional degree of rotational freedom. In this example, then, digital graphical object 133 represents an object existing in three-dimensional space and having four degrees of freedom: x and y translational freedom, and roll and yaw rotational freedom. In this example, the user has a smartphone 125 as a spatial input device, having a screen 127. As noted above, smartphone 125 is equipped with sensors such as accelerometers and gyros, which enable determination of orientation and changes in position as a result of user manipulation in translation and rotational orientation, as shown in degree of freedom symbols 111, 119, and 121. A subsequent view 135 shows digital graphical object 133 manipulated by the user via a roll operation per rotation symbol 119.
Degree of freedom symbols 111, 119, and 121 are herein also referred to as “manipulation indicia”.
It is noted that visual degree of freedom indicators 111, 119, and 121 shown in the figures may be omitted from display in actual use.
Manipulation of Graphical Objects in Web Pages
Currently, website designers decide at the beginning of the design process whether a graphical object presented to the user will be manipulatable or not, and if it is manipulatable, which of degree(s) of freedom can be exercised by the user. In some cases, a sophisticated web page allowing higher degrees of freedom, may require an input device of corresponding sophistication.
Thus, a website designer setting up a web page with a manipulatable graphical object display anticipates in advance what sort of input devices may be available in the user environment for manipulating the graphical object. In general, however, the website designer cannot always assume that the user has an input device capable of more than two degrees of freedom. In such cases, the designer may need to avoid using graphical objects that are suited for convenient manipulation in more than two degrees of freedom. This restriction limits the use of the web page.
It is therefore desirable to have methods and systems which overcome the restriction discussed above. This goal is met by embodiments of the present invention.